// 放置axiosx请求
import axios from "axios"
import Vue from "vue"
import router from "./../router/index"
import querystring from "querystring"
import { Toast, Dialog } from "vant";
// post请求需要用querystring转一下传递的参数data:querystring.stringify(需要给后端传递的参数)
// 开发环境8080
if(process.env.NODE_ENV ==="development"){
    Vue.prototype.$pre="http://localhost:3000"
}else{
    Vue.prototype.$pre=""
}
// 请求拦截
// 请求拦截回调函数 
//  参数 前端发给后端发送的请求信息{url:"",params:{}}
axios.interceptors.request.use((req)=>{
    // 请求的地市不是等路或者注册 需要携带请求头
    if(req.url != "/api/login" && req.url != "/api/register"){
        req.headers.authorization=JSON.parse(localStorage.getItem("userInfo")).token
    }
  
    // console.log(req);
    return req

})
//响应拦截
axios.interceptors.response.use((res)=>{
    if(res.data.code!==200){
        Toast(res.data.msg)
    }
    // 统一处理掉线
    if(res.data.msg==="登录已过期或访问权限受限"){
        router.replace("./login")
    }
    // 将响应的参数返回
    return res
})



// 首页请求
export const getHomeCate=()=>{
return axios({
    url:"/api/getcate",
    method:"get",

})
}
// 轮播图
export const getHomebanner=()=>{
    return axios({
        url:"/api/getbanner",
        method:"get"
    })
    }
// 首页列表
export const getHomelist=()=>{
    return  axios({
        url:"/api/gethortgoods",
        method:"get"
    })
    }
    // 秒杀
export const getHomeseckil=()=>{
    return axios({
        url:"/api/getseckill",
        method:"get"
    })
}
// 购物车添加
export const catadd=(p)=>{
    return axios({
        url:"/api/cartadd",
        method:"POST",
        data:p,
        // headers:{
        //     authorization:JSON.parse(localStorage.getItem("userInfo")).token,
        // }
    })
}
// 登录
export const relogin=(user)=>{
    return axios({
        url:"/api/login",
        method:"post",
        // aixos bug 前端传递参数，后端没有收到，没有文件的时候 使用querystring.stringify()解决
        data:querystring.stringify(user)
    })

}
// 注册
export const reregister=(user)=>{
    return  axios({
        url: "/api/register",
        method: "post",
        data:querystring.stringify(user)
      })
}
//购物车

export const shoplist=(params)=>{
   return axios({
    url:"/api/cartlist",
    params:params,
    // headers:{
    //    authorization:JSON.parse(localStorage.getItem("userInfo")).token
    // }
})
}
  //搜索
  export const gosearch=(kw)=>{
      return axios({
        url:"/api/search",
        // method:"get",
        params:{
            keywords:kw
        }
    })
  }
//   分类商品 list
export const goodlist=(json)=>{
    return axios({
        url:"/api/getgoodlist",
        method:"get",
        // get请求传参方式 params post请求传参data
        params:{
            // this.$route.query.id, 得到请求url上带的id 例参数8080/#/list?id=1
            cateid:json.id,
            type:json.type
        }
    })
}
// 分类商品
export const reqcates=()=>{
    return axios({
     url:"/api/getcates",
     method:"get"
    })
}
// 购物车修改
export const reqshopedit=(params)=>{
      return axios({
          url:"/api/cartedit",
          method:"post",
          data:querystring.stringify(params)
      })
}
// 购物车删除
export const reqshopdel=(params)=>{
    return axios({
        url:"/api/cartdelete",
        method:"post",
        data:querystring.stringify(params)
    })
}
// 地址列表
export const reqAddressList=(p)=>{
    return axios({
        url:"/api/addresslist",
        method:"get",
        params:p
    })
}
export const reqAddressAdd=(p)=>{
    return axios({
        url:"/api/addressadd",
        method:"post",
        data:querystring.stringify(p)
    })
}

// 地址修改
export const reqAddressEdit=(p)=>{
    return axios({
        url:"/api/addressedit",
        method:"post",
        data:querystring.stringify(p)
    })
}

// 订单生成
export const reqOrder=(p)=>{
    return axios({
        url:"/api/orderadd",
        method:"post",
        data:querystring.stringify(p)
    })
}


 